home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / site-packages / gtk-2.0 / gtk / compat.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2006-01-20  |  2KB  |  78 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.4)
  3.  
  4. __all__ = [
  5.     'GTK',
  6.     'GDK',
  7.     'gtk']
  8. from types import ModuleType as module
  9.  
  10. def _find_mod(modname):
  11.     d = { }
  12.     exec 'import %s; mod = %s' % (modname, modname) in d
  13.     return d['mod']
  14.  
  15.  
  16. class RemapModule(module):
  17.     
  18.     def __init__(self, name, modulenames):
  19.         module.__init__(self)
  20.         self.__name__ = name
  21.         if isinstance(modulenames, str):
  22.             modulenames = [
  23.                 modulenames]
  24.         
  25.         self._RemapModule__modulenames = modulenames
  26.         self._RemapModule__modules = None
  27.  
  28.     
  29.     def __getattr__(self, attr):
  30.         if not self._RemapModule__modules:
  31.             self._RemapModule__modules = map(_find_mod, self._RemapModule__modulenames)
  32.         
  33.         for mod in self._RemapModule__modules:
  34.             
  35.             try:
  36.                 value = getattr(mod, attr)
  37.                 setattr(self, attr, value)
  38.                 return value
  39.             continue
  40.             except AttributeError:
  41.                 continue
  42.             
  43.  
  44.         
  45.         raise AttributeError("module has no attribute '%s'" % attr)
  46.  
  47.  
  48. GTK = RemapModule('GTK', 'gtk')
  49. GDK = RemapModule('GDK', [
  50.     'gtk.gdk',
  51.     'gtk.keysyms'])
  52.  
  53. class gtkModule(RemapModule):
  54.     
  55.     def __init__(self):
  56.         RemapModule('gtk', [
  57.             'gtk',
  58.             'gtk.gdk'])
  59.         self.__name__ = 'gtk'
  60.  
  61.     
  62.     def __getattr__(self, attr):
  63.         if attr[:3] == 'Gtk':
  64.             value = getattr(_find_mod('gtk'), attr[3:])
  65.             setattr(self, attr, value)
  66.             return value
  67.         elif attr[:3] == 'Gdk':
  68.             value = getattr(_find_mod('gtk.gdk'), attr[3:])
  69.             setattr(self, attr, value)
  70.             return value
  71.         else:
  72.             return RemapModule.__getattr__(self, attr)
  73.  
  74.  
  75. gtk = gtkModule()
  76. del RemapModule
  77. del gtkModule
  78.